Apple IIgs Technote #1 - Contents of System.Disk and System.Tools
Apple Developer Technical Support
Copyright (c) 1990 Apple Users' Group, Sydney
Republished from Applecations, a publication of the Apple Users' Group, Sydney, Australia.
Apple II Technical Notes
____________________________________________________________ _________________
Developer Technical Support
GS/OS
#1: Contents of System.Disk and System.Tools
Revised by: Matt Deatherage November 1989
Written by: Matt Deatherage November 1988
For space restriction reasons, this Technical Note was printed over two months.
Last Month:
This Technical Note describes the contents of the disks System.Disk and System.Tools.
This Month:
The minimum files necessary to boot GS/OS starting with System Software 5.0.
Changes since July 1989: Updated to reflect System Software version 5.0.2.
____________________________________________________________ _________________
MINIMUM GS/OS SYSTEM.DISK REQUIREMENTS
The following files are required for GS/OS to boot. This list does not address files needed by the Finder or the IIGS Toolbox. Those files only required in certain circumstances are noted as such. Those files that may be excluded only when disk space or memory limitations make it absolutely necessary are marked with asterisks (*).
-ProDOS
-System
-/Start.GS.OS
-/GS.OS
-/GS.OS.Dev
-/Error.Msg
-/FSTs
-//Pro.FST: Required for ProDOS disks.
-//HS.FST: Required for High Sierra or ISO 9660 discs.
-//Char.FST
-//AppleShare.FST: Required to use AppleShare file servers
-/Drivers
-//AppleDisk3.5: Required for Apple 3.5 Drives.
-//AppleDisk5.25: Required for 5.25" drives.
-//UniDisk3.5: Required for UniDisk 3.5 drives.
-//SCSI.Manager: Required for SCSI devices.
-//SCSIHD.Driver: Required for SCSI hard disks.
-//SCSICD.Driver: Required for AppleCD SC drives.
-//Console.Driver
-//ATalk: Required for AppleTalk (including AppleShare).
-//ATP1.ATROM: Required for AppleTalk (including AppleShare).
-//ATP2.ATRAM: Required for AppleTalk (including AppleShare).
-//SCC.Manager: Required for AppleTalk (including AppleShare).
-/System.Setup
-//CDev.INIT: Required for the Control Panel NDA.
-//Tool.Setup
-//TS2
-//TS3
-//Resource.Mgr
-//Sys.Resources
-/CDevs
-//Alphabet*
-//AppleShare*: Required for selecting AppleShare file servers.
-//ATIWriter*: Required for choosing printers.
-//ATLQIWriter*: Required for choosing printers.
-//ATLWriter*: Required for choosing printers.
-//DirectConnect*: Required for choosing printers.
-//General*
-//Keyboard*
-//Modem*
-//Monitor*
-//Mouse*
-//Printer*
-//RAM*: Should always be included if possible. It provides the only way to set the size of the GS/OS Disk Cache.
-//Slots*
-//Sound*
-//Time*
-//CDev.Data*: Only required if using the same CDevs that ship on System.Disk.
-/Desk.Accs*: Required for desk accessories; any desk accessories should be installed in this directory.
-//CtlPanel.NDA*
-//ExpressLoad*: The only reason not to ship ExpressLoad is a lack of disk space; it is not loaded in 512K systems.
-/Start: Must be present for GS/OS to boot or some other file that GS/OS can boot into must be present in its place.
-/Tools: Required for any of the RAM-based tools; any RAM-based tools should be installed in this directory.
-/Fonts: Required for the Font Manager.
-//FastFont*: This makes Shaston 8 text drawing much faster and should be included unless absolutely impossible.
-/P8: Required for ProDOS 8.
-BASIC.System: Required for AppleSoft BASIC.
-BASIC.Launcher: Required for AppleSoft BASIC if the user is allowed to open these programs from the Finder.
CHANGES FROM 5.0 TO 5.0.2
The changes from System Software 5.0 to 5.0.2 are described in this section. The 5.0.2 release includes both System.Disk
and System.Tools. Only the following files have changed; only the problems listed have been addressed. System Software 5.0.1 was an internal Apple release that should not be used.
Note: On System Software 5.0.2, GS/OS has version number $8301, meaning version 3.1p. The Dialog Manager has version number 3.2p ($8302) for ROM 01. The Desk Manager has version 3.2 ($0302) for ROM 01 and version 3.2p ($8302) for ROM 03. Be sure to mask out prototype bits when checking version numbers.
ATResponder (System.Tools) -- Fixed a bug which caused the system to forget chosen network printers unless AppleShare was installed.
BASIC.SYSTEM -- Fixed a bug in BLOAD which trashed data. The system now properly returns the NO BUFFERS AVAILABLE error and does not write to the disk.
GS.OS -- Fixed the Init Manager to properly sense which screen is up and to always place dialogs on the current screen. Also fixed the Cache Manager bug listed below.
Start.GS.OS and GS.OS.Dev -- A change was made to the Cache Manager to dereference the cache bucket before it is used in the internal Cache shutdown routines called by ResetCache. This prevents GS/OS fatal error $0002 from popping up during low-memory Memory Manager calls.
Pro.FST -- Fixed bugs in the GetDirEntry portion of this FST to properly report buffer size errors and to prevent memory from being trashed when using a four-byte name buffer. Also fixed a bug in the Write call that caused data to be trashed on occasion if the Write call was followed by a SetEOF call on sparse files.
Resource.Mgr -- Fixed a bug in ResourceShutDown that deallocated all system resources whenever the call was made. The system now only disposes of the resources belonging to the current resource application. A bug in AddResource and WriteResource which corrupted resource maps when two files were open at the same time was also fixed.
Slots CDev -- Fixed a bug in setting battery RAM when the slot 2 selection was changed. This fix allows ProDOS 8 applications better printing access to network printers.
START (System.Tools) -- Fixed a bug where the system would forget chosen printer names if the user changed login names after booting from a file server. Note that START is the program GS/OS boots into when using a file server as the boot volume; this file is not the Finder.
Tool018 (QuickDraw Auxiliary) -- Fixed a bug in CopyPixels that would incorrectly allocate the scratch buffer, causing memory to be randomly trashed.
Tool021 (Dialog Manager) -- A handle allocation bug was fixed. DialogStartUp previously allocated a handle as movable when it should have been fixed. This fix prevents random memory trashing (four bytes) on the calls Alert, NoteAlert, StopAlert and CautionAlert.
Tool023 (Standard File) -- Fixed several bugs. Case is now ignored when sorting file lists. Filter procedures and SFxxx2 calls now receive the proper auxiliary type for files, and Standard File now notices an error and skips to the next volume when a user ejects a disk and selects a file while the disk's file list is displayed. Formerly, this situation caused an invalid reply record and sometimes crashed applications.
Tool034 (TextEdit) -- Fixed several bugs in TEGetText and in the use of LETextBox2 type data. Also fixed a bug which caused TextEdit controls to sometimes destroy the current port's origin, and a bug which hung the machine when an entire TE SuperBlock was deleted.
TS2 -- Fixed a bug in the QuickDraw II fast slab routines; this fix allows QuickDraw II to properly draw objects with a width greater than 160 bytes. A new Desk Manager patch was added to fix a bug that left the Desk Manager in a "busy" state after the calls AddToRunQ, RemoveFromRunQ and GetNumNDAs.
TS3 -- The Desk Manager patch described above was incorporated, and the Dialog Manager bug listed above was also included here (since the Dialog Manager is included in ROM 03).
Further Reference
____________________________________________________________ _________________
o GS/OS Reference, Volumes 1 and 2

THIS CONTENT COPYRIGHT © 2007, APPLE MACINTOSH USERS' GROUP, SYDNEY
Permission has been obtained to make this material available on the Internet.

Permission is hereby granted for non-profit user groups to republish this content.
PLEASE CREDIT THE AUTHOR AND THE SOURCE: Applecations, publication of the Apple Users' Group, Sydney, Australia

THIS PAGE COPYRIGHT © 2007, ANDREW ROUGHAN